package com.rd.teacher.jichao.day08;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

public class IteratorTest {

    public static void main(String[] args) {

        ArrayList arrayList = new ArrayList();
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
//
//        // 第一种 while
//        Object o = null;
//
        ListIterator listIterator = arrayList.listIterator();
        while (listIterator.hasNext()) {
//            Object o1 = null;
//            String i = (String)iterator.next();
            int i = (int) listIterator.next();
            System.out.println(i);
//            if (i == 1) arrayList.remove(i);
//            if (i == 1) iterator.remove();
//            if(i == 1)  o = i;
        }
//
//        arrayList.remove(o);
        System.out.println("-------");
//
//        // 第二种 for
//        for (int i = 0; i < arrayList.size(); i++) {
//            System.out.println(arrayList.get(i));
//        }
//
//        System.out.println("-------");
        // 第三种 foreach  底层还是iterator
//        for (Object obj : arrayList) {
//            System.out.println(obj);
//        }
//
//        ListIterator listIterator = arrayList.listIterator();
//        while (listIterator.hasPrevious()){
//            System.out.println(listIterator.previous());
//        }


//        info();

    }

    public static void info() {
        ArrayList arrayList = new ArrayList();
        arrayList.add(0);
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);

        Integer i = null;

        Iterator iterator = arrayList.iterator();
        while (iterator.hasNext()) {

            if((int) iterator.next() == 4){
                i = 4;
            }
            System.out.println(i);
        }

        arrayList.remove(i);

        System.out.println(arrayList);
    }
}
